Historically, canaries were used to alert coal miners when toxic gases in coal mine tunnels reached dangerous levels. A canary testing in computer science industries can be defined as an automated, nondestructive test that is run on a regular basis in a close-to-real-world environment so as to detect or predict the happening of certain events.
A network system involving a large number of users requires a significant amount of computing resources, such as storage devices. These storage devices play an important role in maintaining normal daily operations of the network. Failure of the storage devices can result in system failures, malfunctions, and/or suspension of online services. Therefore, prediction of storage failure is extremely critical for network systems to provide a timely and continuous service to their users. Each storage device, however, may have its own characteristics (e.g., storage amount, preferable working conditions, durability, reliability, etc.). This makes effective prediction of storage device failure very difficult. In addition, the fact that network systems can have multiple storage devices that were manufactured by various manufacturers on different dates makes failure prediction even more challenging.